//using System.Diagnostics;
//using System.Text;
//using System.Xml;
//using System;

//namespace Mbs.Modularity.AddIns
//{
//    [Serializable]
//    public class OrCondition : ICondition
//    {
//        ICondition[] conditions;


//        public string Id
//        {
//            get
//            {
//                StringBuilder sb = new StringBuilder();
//                for (int i = 0; i < conditions.Length; ++i)
//                {
//                    sb.Append(conditions[i].Id);
//                    if (i + 1 < conditions.Length)
//                    {
//                        sb.Append(" Or ");
//                    }
//                }
//                return sb.ToString();
//            }
//        }

//        ConditionFailedAction action = ConditionFailedAction.Exclude;
//        public ConditionFailedAction Action
//        {
//            get
//            {
//                return action;
//            }
//            set
//            {
//                action = value;
//            }
//        }

//        public OrCondition(ICondition[] conditions)
//        {
//            Debug.Assert(conditions.Length >= 1);
//            this.conditions = conditions;
//        }

//        public bool IsValid(object owner)
//        {
//            foreach (ICondition condition in conditions)
//            {
//                if (condition.IsValid(owner))
//                {
//                    return true;
//                }
//            }
//            return false;
//        }

//        public static ICondition Read(XmlReader reader)
//        {
//            return new OrCondition(Condition.ReadConditionList(reader, "Or"));
//        }
//    }
//}
